Determining appropriate browsing applications for selected network resources

ABSTRACT

A network resource, such as a page, may be loaded or rendered in different manners on a plurality of different browsers. Data and information regarding the loading and/or rendering of various network resources on a variety of browsers, including data or information regarding errors, latencies or customer ratings of the loading or rendering of such resources on such browsers, may be evaluated in order to identify the most appropriate browser for viewing a requested network resource. If that network resource is available to a user who requests the network resource, then a recommendation or an instruction to view the network resource in the most appropriate browser may be provided to the user.

BACKGROUND

A browser is a client-side application that retrieves, processes andrenders Internet or other network-based content to a user of a computerdevice in response to a request for such content. Most browsers operateby receiving code from one or more servers and/or server-sideapplications according to a certain protocol, such as Hypertext TransferProtocol (or “HTTP”). The browsers then assemble one or more objectsbased on or derived from the code into a page, such as a web page, thatis displayed to a user on a user interface. Browsers usually include oneor more engines for translating information received from servers intorenderable content, interpreters for parsing and executing scripts, andcaches or other data stores for storing information in the form of“cookies,” or files that relate to a user's browsing activity, which maybe retrieved by one or more sites in the future.

The display of a page on a browser begins when a user requests one ormore files associated with a Uniform Resource Identifier (“URI”), suchas a Uniform Resource Locator (or “URL”), or other file location. Therequest by the user may take the form of an entry of a URI or URL intoan address box or address bar; a selection of an image or set of textthat may be hyperlinked to a URI or URL; or a selection of a bookmark, ahome button or any other feature that may be linked to or otherwiseassociated with a URI or URL. Upon receiving the request, a serverassociated with the URI or URL handles the request by providing codeexpressed in one or more computer languages, such as Hypertext MarkupLanguage (or “HTML”). The browser then uses one or more renderingengines (or layout engines) to display the code provided by the serverinto the page, which may include one or more files embedded within thecode provided by the server.

Users of any kind of computer device may select from a number ofstandard browsers to view electronic content, and many computer devicesinclude more than one browser to choose from. Some of the most popularbrowsers available today include Internet Explorer® by MicrosoftCorporation, Chrome® by Google, Inc., Firefox® by Mozilla Corporationand Safari® by Apple, Inc. Although each browser is typically adapted toretrieve, process and render any type of electronic content, no twobrowsers operate in exactly the same way. For example, many differenttypes of browsers use different types of rendering engines to displaycontent. Also, different types of browsers may be programmed to respondto errors, irregularities or non-standard sections of programmed code indifferent ways. Browsers may also respond differently to scriptedfunctions applications (e.g., those programmed in JavaScript® language)or interpret a style sheet or other formatting guide associated with apage, in a different fashion. Therefore, the same page may occasionallyappear differently on different browsers.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram of an illustrative system for determining anappropriate browsing application for selected network resources, inaccordance with embodiments of the present disclosure.

FIG. 2 is a block diagram of an illustrative system for determining anappropriate browsing application for selected network resources, inaccordance with embodiments of the present disclosure.

FIG. 3 is a flow chart of an illustrative process for determining anappropriate browsing application for selected network resources, inaccordance with embodiments of the present disclosure.

FIG. 4A is a table of an illustrative set of data used in determining anappropriate browsing application for selected network resources, inaccordance with embodiments of the present disclosure.

FIG. 4B is a pictorial diagram of an illustrative user interface used indetermining an appropriate browsing application for selected networkresources, in accordance with embodiments of the present disclosure.

FIG. 5 is a flow chart of an illustrative process for determining anappropriate browsing application for selected network resources, inaccordance with embodiments of the present disclosure.

FIG. 6 is a block diagram of an illustrative system for determining anappropriate browsing application for selected network resources, inaccordance with embodiments of the present disclosure.

FIG. 7 is a flow chart of an illustrative process for determining anappropriate browsing application for selected network resources, inaccordance with embodiments of the present disclosure.

FIG. 8 is a table of an illustrative set of data considered used indetermining an appropriate browsing application for selected networkresources, in accordance with embodiments of the present disclosure.

DETAILED DESCRIPTION

As is set forth in greater detail below, the present disclosure isdirected to systems and methods for tracking success in loading one ormore pages on a variety of different browsers, and recommending anappropriate browser to a user who requests to review a specific page.Specifically, according to some embodiments of the present disclosure,one or more tracking services may monitor the performance of multiplebrowsers in retrieving, processing and satisfactorily rendering pages tousers of such browsers. Where a user requests to view a specific pageusing a certain browser, a tracking application operating on the user'scomputer may contact one or more such tracking services to determinewhether the user's browser is appropriate for viewing the page, orwhether another browser is more appropriate for viewing the page, andshould be utilized instead.

Browsers are designed to receive requests for one or more Internet orother network-based resources, such as a web site or web service, from auser, to transmit requests for code corresponding to the requestedresources to one or more server-side applications, to receive such codefrom the server-side applications, and to present the requestedresources to the user on a browser display. Browsers may display avariety of electronic content, including HTML files and also documents,images, audio or video files, or any other type of information. Browsersgenerally attempt to receive, interpret and present HTML files on userinterfaces according to one or more specifications, such as thoseestablished by the World Wide Web Consortium.

Browsers typically feature several primary components, including a userinterface, a rendering engine (or layout engine), an interpreter and oneor more data stores or caches. The user interface typically feature someor all common operational features, including address bars for insertinga universal resource identifier or locator (“URI” or “URL”) associatedwith a network resource, buttons for navigating to and from previouslyviewed network resources, and features for storing identifiers orlocators for network resources in the form of “bookmarks.” Additionally,modern browsers typically have the capacity to display multipleresources on multiple user interfaces, which may be accessed or toggledthrough the selection of one or more tabs or other like features.

The rendering engine renders the requested resource and its associatedcontexts on the user interface. Most rendering engines parse HTML codereceived from a server-side application into a Document Object Model (or“DOM”) tree, determining any styles and building frames of a layout fordisplaying the content, before adding attributes to the layout, or“painting” the layout. The rendering engine usually receives filesprogrammed in HTML, but may also receive documents in other formats. Theinterpreter interprets and executes any functions or scripts programmedin other languages, such as JavaScript®. The data stores or caches maybe used to hold any type of data relating to the rendering of networkresources on the user interfaces, including images, media files orindicia of user preferences or browsing activity.

Different types of browsers usually include different variants of themain components described above and may operate according to one or moredifferent methods or standards. For example, many different browsersfeature different rendering engines, including the Gecko® renderingengine, which is utilized in the Firefox® browser; the Trident®rendering engine, which is utilized in the Internet Explorer®; and theWebKit™ rendering engine, which is used in the Safari® and Chrome®browsers. Therefore, while a page (or different pages that areprogrammed in a similar manner, or originate from a common top-leveldomain) typically appears in the same manner each time that the page isloaded by a single browser, the same page may appear differently to auser who views the page on different browsers (e.g., an image on thepage may load more quickly, one or more frames on the page may bearranged differently, or a body of text may be formatted differently, onone browser than another).

The systems and methods of the present disclosure are directed toobtaining and tracking data regarding the presentation of networkresources on multiple browsers, and analyzing such data to providerecommendations or instructions for rendering a selected networkresource on a specific browser. Some data that may be considered by thesystems and methods disclosed herein include the rates at which errorsare encountered in loading a network resource on a browser, or thelatency associated with the loading of the network resource (e.g.,delays of any period of time) on the browser, as well as anysatisfaction measures or ratings of a user's experience in viewing thenetwork resource on a particular browser. Any other data reflecting theappropriateness of a particular browser for a selected page may beutilized according to the systems and methods of the present disclosure.Moreover, the data may be sorted or refined based on attributes of notonly a type of browser (e.g., Internet Explorer®, Chrome®, Firefox®,Safari®), but also a version of the browser (e.g., Internet Explorer® 9,Chrome® 17, Firefox® 3.6, Safari® 2.0) or a combination of the browserand an operating system or computer device (e.g., Internet Explorer® 10operating on Windows® 8, Chrome® 23 operating on Mac® OS X 10.8.2).

The systems and methods of the present disclosure may comprise atracking application or other software program operating on a computermachine having multiple browsers residing thereon. When a user of thecomputer machine requests a network resource using one or more browsers,or programs affiliated with such browsers (e.g., a word processingapplication adapted to request a network resource upon a selection of ahyperlink to the network resource in a document opened therein), thetracking application transmits a URI or URL associated with the networkresource to a tracking service, which may then search for browsing datafor the URI or URL among a lookup table or other data file within a datastore. The data store may include information such as a number ofparsing errors, JavaScript® interpretation errors, “refreshes” or“reloads,” delays or latencies, or any other relevant informationregarding browser performance, sorted by URI or URL. The trackingservice may then report to the tracking application the name of abrowser, or the names of browsers, that may display the requestednetwork resource in the most appropriate manner, and the trackingapplication may cause the requested network resource to be displayed inone or more of the most appropriate browsers.

According to yet another embodiment of the present disclosure, a user ofa local computing device may transmit a request for a network resourcefrom a browsing subsystem to a remote computing device, which mayoperate one or more browsing subsystems. The remote computing device maythen request the network resource on each of the operating browsingsubsystems, and select the one of the subsystems that presents thenetwork resource in the most appropriate format, which may be determinedaccording to one or more qualitative or quantitative measures. Theelectronic content rendered on the selected browsing subsystem on theremote machine may then be transferred to the browsing subsystemoperating on the local machine, and the user may then view the networkresource in the most compatible format.

A recommendation or identification of a most compatible browser for arequested network resource may be presented to a user on any basis andin any manner. For example, a user's computing device may operate one ormore applications for automatically switching between available browsersbased on the respective browsers' compatibility with a selected networkresource. Next, where a user requests a network resource from a browserthat is not the most compatible browser for the display of that networkresource, a pop-up or other visible window may be displayed above oradjacent to the content that was displayed on the browser at the time ofthe user's request. The pop-up window may display data regarding thecompatibility of any of the browsers available on the user's computer,and one or more selectable features (e.g., radio buttons) for selectingone of the available browsers. Additionally, reports or results on thecompatibility of a network resource with a particular browser may bedisplayed alongside the displayed results of a search through a searchengine, e.g., alongside icons or other features indicative of the mostcompatible browser for viewing each of the results.

Moreover, in situations in which two or more browsers are deemed to beequally appropriate for viewing a selected network resource, or equallycompatible with the network resource, the systems and methods of thepresent disclosure may choose a browser for viewing the selected networkresource at random, according to one or more preferences set by a user,or on any other basis. For example, if a browser from which a networkresource is requested is not the most optimal browser available to theuser for viewing the network resource, but if the most optimal browserwould only provide a marginal increase in compatibility or quality overthe browser from which the network resource was selected (e.g., if ametric of the compatibility or quality of the most optimal browser doesnot exceed a metric of the compatibility or quality of the browser fromwhich the network resource was selected by a certain threshold), thenthe systems and methods of the present disclosure may decline to switchbrowsers, to avoid any inherent delays or inconveniences that may beassociated with such a switch. Additionally, if a user expresses apreference for a particular type of browser, e.g., if the user hasassembled a developed set of cookies or bookmarks residing on orassociated with the preferred type of browser, then another browser maybe selected or recommended only if that browser provides a significantoperational advantage over the user's preferred type of browser.

The compatibility of browsers with network resources may be evaluatedwith any level of granularity or detail, ranging from the compatibilityof a top-level domain hosting multiple network resources to thecompatibility of each and every individual network resource hosted atthe top-level domain. For example, because pages that originate from acommon top-level domain are sometimes rendered in the same manner, apreferred browser for a requested network resource may be presumed to bethe same browser from which the network resource was requested, if thenetwork resource presented on the browser at the time that the requestednetwork resource was requested originates from the same top-level domainas the presented network resource. Alternatively, the threshold forrecommending a preferred browser for a requested network resource thatdiffers from the browser from which the network resource was requestedmay be elevated if the requested network resource originates from thesame top-level domain as the presented network resource. For example, adifferent browser may be recommended only if the requested networkresource is unable to load on the browser from which the networkresource was requested, e.g., the browser would experience a fatalerror.

Furthermore, a recommendation of a preferred browser may be based on thecomputing device from which a network resource was requested. Becausebrowsers retrieve, process and render network resources in differentmanners depending on the computing devices on which such browsers areoperating, a recommendation of a preferred browser for a requestednetwork resource may be determined based on a combination of factorsregarding the browsers and the computing devices from which a networkresource is requested. Additionally, according to another embodiment ofthe present disclosure, cookies or bookmarks associated with thebrowsers operating on a computing device may be stored in a centrallocation and made accessible to each of the browsers that is availableto the user, thereby facilitating the transition from one browser toanother.

Referring to FIG. 1, components of one system 100 for determining anappropriate browsing application for selected network resources areshown. The system 100 includes a user 110, a marketplace 120, a weathersource 130, a sports source 140 and a tracking service 150 that areconnected to one another across a network 160, such as the Internet. Theuser 110 may be any entity or individual that uses a computer 112 toaccess the network 160 for any purpose, such as to download, purchase,rent, lease, borrow or otherwise obtain items (which may include goods,products, services or information of any type or form) from anelectronic marketplace 120, or to obtain electronic news or otherinformation from one or more remote sources, such as the weather source130 or the sports source 140. The user 110 may utilize one or morecomputing devices, such as the computer 112, or any other like machinethat may operate or access one or more software applications, such asthe browsers 114, 116, 118. The computer 112 or the other like machinesutilized by the user 110 may be connected to or otherwise communicatewith the marketplace 120, the weather source 130 or the sports source140 through the network 160, as indicated by line 115, by thetransmission and receipt of digital data.

The marketplace 120 may be any entity or individual that wishes to makeitems available for download, purchase, rent, lease or borrowing bycustomers through the use of at least one network resource such as website or page 124 maintained using a networked computer infrastructure,including one or more physical computer servers 122. The web site 124may be implemented using the server 122, which may be connected to orotherwise communicate with the network 160, as indicated by line 125, bythe sending and receiving of digital data. The merchant 120 may alsocause one or more items to be delivered to customers, such as the user110. In addition, items that are made available by the merchant 120 orordered therefrom by customers may be made by or obtained from one ormore third party sources, such as sellers, vendors or manufacturers (notshown), or from any other source. Moreover, the merchant 120 itself maybe a seller, a vendor or a manufacturer.

The weather source 130 and the sports source 140 may be any entity ororganization that provides information to computer users, such as theuser 110, who access web sites 134, 144 maintained by the weather source130 or the sports source 140 over the network 160. The web sites 134,144 may be implemented using the servers 132, 142, which may beconnected to or otherwise communicate with the network 160, as indicatedby lines 135, 145, by the sending and receiving of digital data.Furthermore, the weather source 130 and the sports source 140 and thecomponents thereof or applications operating thereon may provide access,transfer mail, host pages, peer with other computer infrastructures, orperform any other network-related function, and may take any real orvirtual form.

The tracking service 150 may be any entity or individual that tracksinformation regarding the performance of multiple browsers in loadingone or more network resources, or the compatibility of such networkresources with multiple browsers, and transmits recommendations orinstructions to one or more computers, or to applications operatingthereon, as to the compatibility of a selected network resource with oneor more browsers on such computers. As is shown in FIG. 1, the trackingservice 150 may maintain a networked computer infrastructure, includingone or more physical computer servers 152 and/or databases 156, forexecuting one or more applicable functions or storing any form ofapplicable data. For example, the server 152 may receive, and thedatabase 156 may store, information regarding selections of networkresources by users of browsers for later analysis. Additionally, theserver 152 may act according to one or more formulas or algorithms foranalyzing such data and providing recommendations to users basedthereon, and may be connected to or otherwise communicate with thenetwork 160, as indicated by line 155, by the sending and receiving ofdigital data.

The user 110, the marketplace 120, the weather source 130, the sportssource 140 and the tracking service 150 may operate one or more orderprocessing and/or communication systems which may be implemented throughone or more computing machines that may be connected to the network 160,in order to transmit information in the form of digital or analog datacorresponding to any type of network resource, such as the marketplaceweb site 124, the weather web site 134, the sports web site 144, or forany other purpose. For example, the user 110 may communicate with themarketplace web site 124, the weather web site 134, the sports web site144 or any third party by electronic mail (or E-mail), or othermessaging techniques, including short or multimedia messaging service(SMS or MMS) text messages or any other form of electronic message, orthrough one or more interfaces provided by one of the browsers 114, 116,118, which may operate on a computer 112 that is connected to thenetwork 160, as is indicated by line 115. Similarly, the marketplace120, the weather source 130, the sports source 140 or the trackingservice 150 may communicate with the user 110 or any third party byelectronic mail via one or more interfaces provided through the servers122, 132, 142, 152 or by the web sites 124, 134, 144, as is indicated bylines 125, 135, 145, 155. Moreover, messaging between numerous E-mailclients or agents maintained by the user 110, the marketplace 120, theweather source 130, the sports source 140 or the tracking service 150may be provided.

Those of skill in the pertinent art will recognize that the user 110,the marketplace 120, the weather source 130, the sports source 140 orthe tracking service 150 may operate a keyboard, keypad, mouse, stylus,touch screen, or other device (not shown) or method to interact with thecomputers, servers, devices and the like, or to “select” an item, link,node, hub or any other aspect of the present disclosure, such as tointeract with the computer 112 and/or the browsers 114, 116, 118; theservers 122, 132, 142 and/or the web sites 124, 134, 144; or the server152 and/or the database 156.

Those of skill in the pertinent art will also recognize that thecomputers, servers, devices and the like described herein have thenecessary electronics, software, memory, storage, databases, firmware,logic/state machines, microprocessors, communication links, displays orother visual or audio user interfaces, printing devices, and any otherinput/output interfaces to perform the functions described herein and/orachieve the results described herein. The computer 112 and the servers122, 132, 142, 152 may include any of a number of computing devices thatare capable of communicating over the network, including but not limitedto set-top boxes, personal digital assistants, mobile phones including“smartphones,” digital media players, web pads, tablet computers, laptopcomputers, desktop computers, electronic book readers, and the like. Theprotocols and components for providing communication between thecomputer 112 and the servers 122, 132, 142, 152 are well known to thoseskilled in the art of computer communications and thus, need not bedescribed in more detail herein. Additionally, those of ordinary skillin the art would recognize that the systems and methods of the presentdisclosure are not limited to the components shown in FIG. 1, and mayfurther include any other form of browser or network resource.

Some embodiments of the systems and methods of the present disclosuremay also be provided in the form of data and/or computer executableinstructions, programs, firmware, software and the like (also referredto herein as “computer executable” components) described herein storedon a computer executable program product including a non-transitorymachine-readable storage medium having stored thereon instructions (incompressed or uncompressed form) that may be used to program a computer(or other electronic device) to perform processes or methods describedherein. The computer executable program product may be accessed by oneor more machines associated with the computer 112 and/or the servers122, 132, 142, including but not limited to hard drives, floppydiskettes, optical disks, CD-ROMs, DVDs, read-only memories (ROMs),random access memories (RAMs), erasable programmable read-only memories(EPROMs), electrically erasable programmable read-only memories(EEPROMs), flash memory, magnetic or optical cards, solid-state memorydevices, or other types of media/machine-readable medium that may besuitable for storing electronic instructions.

For the purposes of illustration, some of the systems and methodsdisclosed herein may be referenced primarily in the context of a userwho accesses one or more network resources using a computer havingaccess to multiple browsers, such as the user 110, the browsers 114,116, 118 and the web sites 124, 134, 144 shown in FIG. 1. As will berecognized by those of ordinary skill in the art, however, the systemsand methods disclosed herein may also be used in many other situationsin which the compatibility of any type or form of web site or networkresource with any type or form of browser operating on any type or formof computer may be determined, and their utility is not limited to anyof the preferred embodiments described herein. Referring to FIG. 2, asystem 200 for determining an appropriate browsing application forselected network resources is shown. Except where otherwise noted,elements having reference numerals beginning with “2” in FIG. 2 aresimilar to elements having reference numerals beginning with “1” in FIG.1.

The system 200 shown in FIG. 2 includes a plurality of browsers 214-1,214-2, 214-3, 214-4, 214-5, a plurality of web sites 224-1, 224-2,224-3, 224-4, 224-5 and a tracking service 250. Each of the browsers214-1, 214-2, 214-3, 214-4, 214-5 may be maintained on one or morecomputers or computer-related machines (not shown), and is connected toor otherwise adapted to communicate over the network 260, as isindicated by lines 215-1, 215-2, 215-3, 215-4, 215-5. Each of the websites 224-1, 224-2, 224-3, 224-4, 224-5 may be maintained by one or moreservers or other computer-related components (not shown) and is alsoconnected to or otherwise adapted to communicate over the network 260,as is indicated by lines 225-1, 225-2, 225-3, 225-4, 225-5. The trackingservice 250 may maintain a networked computer infrastructure, includingone or more physical computer servers 252 and/or databases 256, forexecuting one or more applicable functions or storing any form ofapplicable data, and is also connected to or otherwise adapted tocommunicate over the network 260, as is indicated by line 255.Specifically, the tracking service 250 may be adapted to trackinformation regarding the performance of the browsers 214-1, 214-2,214-3, 214-4, 214-5 in loading one or more network resources, such asthe web sites 224-1, 224-2, 224-3, 224-4, 224-5, or the compatibility ofsuch network resources with multiple browsers. The tracking service isfurther adapted to transmit recommendations of a particular browser orinstructions to one or more computers, or to applications operatingthereon, as to the compatibility of a selected network resource with oneor more browsers on such computers.

For example, where a user of a browser, such as any of the browsers214-1, 214-2, 214-3, 214-4, 214-5, requests to view one or more networkresources, such as any of the web sites 224-1, 224-2, 224-3, 224-4,224-5, the tracking system 250 may receive or intercept such requestsand capture or record data regarding the compatibility of the browserswith the network resources, or the performance of the browsers inretrieving, processing and rendering content maintained at the networkresources. Such data may refer to errors encountered by the respectivebrowsers, including instances where one or more documents associatedwith the network resource is unavailable; where access to such documentsfrom the browser is denied or forbidden; where the browser is unable toconnect to a server; where a connection is reset by a peer or refused bya host; or where a domain name system lookup has failed. Such data mayfurther refer to delay times or other latencies associated with theloading of respective network resources on specific browsers, customerratings of the performance of specific browsers in displaying contentassociated with network resources, or any other qualitative orquantitative indicator of compatibility of a network resource with abrowser. Based on such data, the tracking service 250 may make one ormore determinations as to the compatibility of a network resource withone or more browsers, and provide recommendations or instructions fordisplaying the network resource in such browsers, either independentlyor in concert with one or more applications operating on a localcomputer.

Referring to FIG. 3, a flow chart 300 representing one embodiment of aprocess for determining user information from automated replies isshown. At block 310, a user selects a link to a uniform resourceidentifier or locator (“URI” or “URL”) for displaying a page on abrowser operating on the user's computer. For example, the user mayselect a linked image or set of text associated with the page.Alternatively, the user may select a bookmark or designated button orfeature (e.g., a “home” icon) associated with the page.

At block 320, a tracking application running on the user's computerintercepts the user's selection of the link to the URL, and at block322, the tracking application transmits the URL to a tracking service,such as the tracking service 150, 250 shown in FIGS. 1 and 2. Forexample, where a user selects a link to a specific network resource(e.g., a home page maintained at www.webpage.info or a file located atwww.documents.files.cc/file.pdf), the tracking application may transmiteither the complete location for the network resource, or a domain name(e.g., webpage.info or files.cc) associated with the network resource.

At block 330, after receiving the URL from the tracking application, thetracking service searches for the URL in a lookup table or other datafile regarding preferred browsers for displaying the page associatedwith the URL. The tracking service may maintain or access one or morefiles containing errors, latency data or customer ratings regarding theloading of network resources on browsers, and may search for anyinformation regarding the specific page associated with the URL that wasselected by the user at block 310. At block 332, the tracking serviceidentifies a preferred browser for displaying the page, and at block334, the tracking service transmits the identity of the preferredbrowser to the tracking application. For example, where the trackingservice receives a URL or other information regarding a requestednetwork resource from a tracking application, the tracking service mayidentify the most appropriate browser for viewing the network resourceand transmit the name or some other identifier of the most appropriatebrowser back to the tracking application.

At block 350, the tracking application determines whether the preferredbrowser is available on the user's computer. If the preferred browser isnot available on the user's computer, then the process advances to block352, where the requested page is loaded on the browser from which it wasselected, and the process ends. If the preferred browser is available onthe user's computer, then the process advances to block 360, where it isdetermined whether the preferred browser is operating on the user'scomputer. If the preferred browser is operating on the user's computer,then the process advances to block 352, and ends. If the preferredbrowser is not operating on the user's computer, then the processadvances to block 370, where the tracking application recommends openingthe requested browser, and the process ends.

Accordingly, one or more services or applications operating according tothe systems and methods of the present disclosure may receive aselection of a network resource from a user, determine the mostappropriate or compatible browser for viewing the network resource andwhether such browser is available to the user based on any availabledata, and make a recommendation to the user that he or she open thenetwork resource in that browser. As is discussed above, therecommendation may take or appear in any form, including one or morewindows that appear on or above a browser or other application operatingon a computer display, one or more recommendations that appear adjacentto a set of search results, or any other form.

Referring to FIG. 4A, a set 400 of data that may be considered by thesystems and methods of the present disclosure when identifying one ormore appropriate network resources for viewing a selected page is shown.As is shown in FIG. 4A, the data in the set 400 is displayed in a tableincluding columns corresponding to top-level domains 404A of networkresources and respective browsers 414A, 416A, 418A. The set 400 of dataincludes error data (referenced in percents), latency data (referencedin milliseconds) and customer ratings (referenced according to afive-star system) for the loading of network resources within or beneaththe top-level domains 424A, 434A, 444A.

The set 400 of data may be utilized by systems and methods of thepresent disclosure to determine which browser is most appropriate for anetwork resource. For example, for the top-level domain 424A (viz.,market-site.cc), the browser 416A (viz., Browser 2) has the lowest errorrates, the lowest latency and the highest rating of any of the browsers414A, 416A, 418A. For the top level domain 434A (viz., weather-site.cc),the browser 414A (viz., Browser 1) has the lowest error rates, thelowest latency and the highest rating of any of the browsers 414A, 416A,418A. For the top-level domain 444A (viz., sports-site.cc), the browser418A (viz., Browser 3) has the lowest error rates, the lowest latencyand the highest rating of any of the browsers 414A, 416A, 418A.

Accordingly, based on the set 400 of data in FIG. 4A, the systems andmethods of the present disclosure may be adapted to instruct orrecommend that a user who attempts to access the top-level domain 424Ausing browser 414A or browser 418A instead elect to access the top-leveldomain 424A using browser 416A. The systems and methods disclosed hereinmay further instruct or recommend that a user who attempts to access thetop-level domain 434A using browser 416A or browser 418A instead electto access the top-level domain 434A using browser 414A. The systems andmethods disclosed herein may further instruct or recommend that a userwho attempts to access the top-level domain 444A using browser 414A orbrowser 416A instead elect to access the top-level domain 444A usingbrowser 418A.

An instruction or recommendation to view a requested network resource ina different browser may appear in any manner or format, such as in apop-up window that appears above a user interface on a computer display.Referring to FIG. 4B, a computer display 412B including a browser 414Bshowing a page 434B is shown. The browser 414B and page 434B correspondto the data regarding the browser 414A and top-level domain 434A,respectively, shown in FIG. 4A. Where a user attempts to access adifferent page, such as by providing the browser 414B with a new address424B, the systems and methods of the present disclosure may display awindow 470B that informs the user that the requested page located at theaddress 424B is best viewed in a different browser, and that includes abutton 472B for switching from the browser 414B to the different browserin order to review the requested page.

As is discussed above, where a user who is viewing a page on a browserthen requests to view a different page, the systems and methods of thepresent disclosure may determine, by one or more qualitative orquantitative means, whether the browser from which the different pagewas requested is the most appropriate and compatible browser for viewingthe page. For example, although pages that originate from code that isprogrammed in a similar manner, such as pages originating from a commontop-level domain, typically appear in a similar manner on a commonbrowser, pages that are programmed in a different manner or originatefrom different top-level domains may appear differently on differentbrowsers. Such means may also identify an appropriate and compatiblebrowser for viewing the page based on a combination of factors regardingthe respective browsers and also the computing devices on which suchbrowsers are operating.

Therefore, the systems and methods disclosed herein may determinewhether a browser is the most appropriate for viewing a page, and ifnot, may recommend a different browser for viewing the page if thedifferent browser would provide an improved experience for the user interms of compatibility or quality, e.g., a level of compatibility orquality that exceeds the level of compatibility or quality available onthe browser from which the page was requested. For example, a preferredbrowser for a requested network resource may be presumed to be the samebrowser from which the network resource was requested, if a networkresource presented on the browser at the time that the requested networkresource was requested originates from the same top-level domain as thepresented network resource. Alternatively, a threshold for recommendinga preferred browser for a requested network resource that differs fromthe browser from which the network resource was requested may beelevated if the requested network resource originates from the sametop-level domain as the presented network resource, or a differentbrowser may be recommended only if the browser would experience a fatalerror upon attempting to render the requested network resource.

Referring to FIG. 5, a flow chart 500 representing one embodiment of aprocess that may be performed by a system for determining userinformation from automated replies is shown. At block 510, a user viewsa first page in a browser operating on the user's computer, and at block520, the user requests to view a second page. For example, the user mayselect a hyperlinked image or set of text, a bookmark, a home button orother feature associated with another page.

At block 530, the system determines whether the second page is hosted atthe same top-level domain as the first page. For example, the system maycompare the URL or an Internet Protocol (“IP”) address of the requestedsecond page to the URL or IP address of the displayed first page, todetermine whether the second page is hosted at the same top-level domainas the first page. As is discussed above, pages that are programmed in asimilar manner, such as those that originate from a common top-leveldomain, typically appear within a browser with a similar or common levelof compatibility or quality. If the second page is from the sametop-level domain as the first page, then the process advances to block580, where the tracking application causes the second page to be openedin the same browser from which it was requested.

If the second page is not from the same top-level domain as the firstpage, then the process advances to block 540, where the trackingapplication requests operational data regarding the viewing of thesecond page on a plurality of browsers. For example, the trackingapplication may request a set of data, such as the set 400 of data shownin FIG. 4A, corresponding to the viewing of the second page on multiplebrowsers. At block 542, the tracking application receives the requestedoperational data from a tracking service, and at block 544, the trackingapplication calculates a suitability metric for viewing the second pageon each of the plurality of browsers for which operational data isavailable, such as according to one or more weighted formulas oralgorithms.

At block 550, the system determines whether the browser from which thesecond page was selected has the highest suitability metric of theavailable browsers on the user's computer. If the browser has thehighest suitability rating of any of the available browsers, then theprocess advances to block 580, where the tracking application causes thesecond page to be opened in the same browser from which it wasrequested. If the browser from which the second page was requested doesnot have the highest suitability score, then the process advances toblock 560, where a suitability threshold for switching to a new browseris identified. As is discussed above, the systems and methods disclosedherein may decline to recommend that a user view a requested page on adifferent browser, even if that browser has a higher suitability scorefor viewing the requested page, if the different browser would provideonly an insignificant or insubstantial increase in compatibility orquality.

At block 570, the system determines whether any of the other browsersthat may be available on the user's computer has a suitability metricabove the suitability threshold. If none of the other browsers has asuitability metric above the suitability threshold, then the systemadvances to block 580, where the tracking application causes the secondpage to be opened in the same browser from which it was requested. Ifany of the other available browsers has a suitability metric above thesuitability threshold, then the process advances to block 590, where thesecond page is displayed in the browser having the highest suitabilitymetric above the suitability threshold, and the process ends.

Accordingly, the systems and methods of the present disclosure may beutilized to determine whether a browser from which a user requests anetwork resource is the most compatible and appropriate browser forviewing that resource. If the browser from which the user selected thenetwork resource is the most compatible and appropriate option, or if noother available browser is more compatible or appropriate, then thesystems and methods disclosed herein may open the network resource inthat browser. If, however, another browser available to the user is morecompatible or more appropriate for viewing the network resource, thenthe systems or methods disclosed herein may recommend that the userswitch to another browser to view the network resource, or may cause thebrowser to open and display the network resource therein. Moreover,where no data is available regarding the viewing of a network resourceon one or more browsers, or where two or more browsers are substantiallyequally compatible or appropriate for viewing a network resource, thenthe systems and methods of the present disclosure may select one networkresource at random, or according to one or more preferences establishedby the user. Alternatively, where the network resource was requestedfrom one of the substantially equally compatible or appropriatebrowsers, then the systems and methods of the present disclosure mayrecommend no change at all.

As is discussed above, the systems and methods disclosed herein mayfurther be utilized by systems in which the actions of retrieving,processing and rendering a requested network resource may be splitacross multiple computing devices, such as a remote computing devicethat accesses the network resource using multiple remote browsers orbrowsing subsystems, which may be operated on one or more remote serversassociated with the remote computing device, and a local computingdevice (e.g., a user's computer) operating a local browser or browsingsubsystem. According to one embodiment of the present disclosure,content associated with a requested network resource may be rendered byone or more of the remote browsing systems, and the remote browsingsubsystem that displays the network resource in the most compatible orappropriate manner may be selected, such that the content rendered bythe selected remote browsing system may be transferred to the localbrowsing system for presentation to the user.

Referring to FIG. 6, a system 600 for determining an appropriatebrowsing application for selected network resources is shown. Exceptwhere otherwise noted, elements having reference numerals beginning with“6” in FIG. 6 are similar to elements having reference numeralsbeginning with “2” in FIG. 2, or elements having reference numeralsbeginning with “1” in FIG. 1.

As is shown in FIG. 6, the system 600 includes a local browsingsubsystem 614 operating on a computer 612, and a tracking service 650having a server 652 operating remote browsing subsystems 654-1, 654-2,654-3. The system 600 of FIG. 6 may permit a user 610 to select anetwork resource (such as the marketplace web site 624, the weather website 634 or the sports web site 644) to be viewed on the computer 612using the local browsing subsystem 614, which may then transmit anidentifier of the selected network resource (e.g., a URI or URL) to theserver 652 for processing. The server 652 may be adapted to cause someor all of the selected network resource to be loaded or rendered on eachof the available remote browsing subsystems 654-1, 654-2, 654-3, each ofwhich may operate one or more browsers. If the selected network resourceloads more effectively or compatibly on one of the available remotebrowsing subsystems 654-1, 654-2, 654-3, then the content associatedwith the selected network resource may then be transferred to the localbrowsing subsystem 614, where it may be viewed by the user 610.

Referring to FIG. 7, a flow chart 700 representing one embodiment of aprocess that may be performed by a system for determining userinformation from automated replies is shown. At block 710, a userattempts to open a page on a local browsing subsystem, such as thesubsystem 614 operating on computer 612 shown in FIG. 6. At block 720,the local browsing subsystem transmits an identifier of the page, suchas a URI or a URL, to a tracking service, such as the tracking service650 shown in FIG. 6.

At block 730, the tracking service opens the page in a plurality ofremote browsing subsystems, and at block 740, identifies a set oflatency data, error data and user ratings for the use of the pluralityof remote browsing subsystems to view the page. For example, thetracking service may identify a set of data, such as the set 400 of datashown in FIG. 4A, which includes historical data regarding the displayof the page on multiple browsing systems, such as error rates, latencytimes or performance ratings provided by users.

At block 750, the tracking service selects the most appropriate remotebrowsing subsystem for viewing the page according to formulas that takeinto account the error data, latency data or performance ratingsassociated with the viewing of the page on other browsing systems. Forexample, referring again to FIG. 4A, the tracking service would selectbrowser 414A to view a page hosted at top-level domain 434A; browser416A to view a page hosted at top level domain 424A; and browser 418A toview a page hosted at top-level domain 444A, based on the low errorrates and latency times, and high customer ratings provided thereby. Atblock 760, the tracking service routes the rendered content from theselected remote browsing subsystem to the local browsing subsystem, andthe process ends.

Accordingly, where some or all of the functions associated withretrieving, processing and rendering a network resource requested from alocal computing device, such as the computer 610 of FIG. 6, is performedon one or more remote computing devices, such as the tracking service650 and/or server 652 of FIG. 6, such external computing devices mayload the network resources on browsers maintained on the remotecomputing devices and provide content to the local computing device asrendered by the most appropriate or compatible browser for viewing therequested network resource.

The data on which a determination of compatibility or suitability isbased according to the systems and methods of the present disclosure maybe obtained in real time or in near-real time, or calculated in one ormore offline processes. Such data may further be aggregated within oneor more data stores instantly, at predefined intervals or in accordancewith a regular schedule, and may be averaged to provide generalrecommendations of one or more compatible or appropriate browsers forviewing a network resource, or based on one or more specific instancesof browsing activity (e.g., where even a single viewing of a page on abrowser fails, the systems and methods disclosed herein may providerecommendations to view the page on alternate browsers). Moreover, suchdata may include quantitative, measurable variables (e.g., rates oferrors or delay times), as well as qualitative indicators, such astext-based comments provided by one or more users. Referring to FIG. 8,a set 800 of data regarding browsing activity is shown. Except whereotherwise noted, elements having reference numerals beginning with “8”in FIG. 8 are similar to elements having reference numerals beginningwith “4” and/or ending in “A” in FIG. 4A.

As is shown in FIG. 8, the data in the set 800 refers to the loading ofnetwork resources from top-level domains 830, 840 on browsers 814, 816,818. Specifically, the set 800 includes operational data regarding theloading of network resources at particular dates and times, includingthe incidences of errors 802, latency times 804 and any user comments806, which are expressed in words or phrases. The user comments 806 maybe mined or otherwise harvested to identify keywords corresponding tosatisfaction or dissatisfaction with the loading of a network resourceon a particular browser 814, 816, 818, such as “smooth,” “top quality”or “best” versus “slow,” “terrible” or “reboot.” Where user comments 806imply that one or more browsers is compatible or appropriate, orincompatible or inappropriate, for the loading of a network resource,such information may be utilized to further identify the best possiblebrowser for a network resource, in addition to quantitative metrics suchas the incidences of errors 802 or the latency times 804, or any otherfactor.

Although the disclosure has been described herein using exemplarytechniques, components, and/or processes for implementing the presentdisclosure, it should be understood by those skilled in the art thatother techniques, components, and/or processes or other combinations andsequences of the techniques, components, and/or processes describedherein may be used or performed that achieve the same function(s) and/orresult(s) described herein and which are included within the scope ofthe present disclosure.

For example, those of ordinary skill in the art would recognize that thesystems and methods of the present disclosure may be adapted for usewith any browser that may presently exist, or that may exist in thefuture, and are not limited to one or more of the standard browsers(e.g., Internet Explorer®, Chrome®, Firefox®, Safari®) referencedherein. Moreover, those of ordinary skill in the art would alsorecognize that the systems and methods disclosed herein may be used toevaluate the compatibility of any type of network resource with any typeof browser, and are not limited to evaluating the compatibility ofmarketplaces, weather sites or sports sites.

Additionally, although many of the embodiments described above relate tothe selection of compatible or appropriate browsers operating on localor client computers, the systems and methods of the present disclosureare not so limited. For example, is discussed above, the systems andmethods disclosed herein may be utilized to identify one or morecompatible or appropriate browsing applications operating on remotemachines, such as the browsing subsystems shown in FIG. 6, which may bephysically located in any proximity to a local or client computer.

It should be understood that, unless otherwise explicitly or implicitlyindicated herein, any of the features, characteristics, alternatives ormodifications described regarding a particular embodiment herein mayalso be applied, used, or incorporated with any other embodimentdescribed herein. Moreover, with respect to the one or more methods orprocesses of the present disclosure described herein, including but notlimited to the flow charts shown in FIGS. 3, 5 and 7, the order in whichthe blocks of the methods or processes are listed is not intended to beconstrued as a limitation on the claimed inventions, and any number ofthe method or process blocks can be combined in any order and/or inparallel to implement the methods or processes described herein. Also,the drawings herein are not drawn to scale.

Conditional language, such as, among others, “can,” “could,” “might,” or“may,” unless specifically stated otherwise, or otherwise understoodwithin the context as used, is generally intended to convey that certainembodiments could include, but do not require, certain features,elements and/or steps. Thus, such conditional language is not generallyintended to imply that features, elements and/or steps are in any wayrequired for one or more embodiments or that one or more embodimentsnecessarily include logic for deciding, with or without user input orprompting, whether these features, elements and/or steps are included orare to be performed in any particular embodiment.

Conjunctive language such as the phrase “at least one of X, Y and Z,”unless specifically stated otherwise, is otherwise understood with thecontext as used in general to present that an item, term, etc. may beeither X, Y, or Z, or a combination thereof. Thus, such conjunctivelanguage is not generally intended to imply that certain embodimentsrequire at least one of X, at least one of Y and at least one of Z toeach is present.

Although the invention has been described and illustrated with respectto exemplary embodiments thereof, the foregoing and various otheradditions and omissions may be made therein and thereto withoutdeparting from the spirit and scope of the present disclosure.

What is claimed is:
 1. A non-transitory computer readable medium havingcomputer-executable instructions stored thereon, wherein theinstructions, when executed, cause a computer having at least onecomputer processor to perform a method comprising: identifyinginformation regarding a request for a first network resource from afirst browser operating on the computer; identifying browser performancedata regarding the first network resource in a data store; identifying apreferred browser available on the computer for the first networkresource based at least in part on the browser performance dataregarding the first network resource; determining whether the firstbrowser is the preferred browser available on the computer; in responseto determining that the first browser is the preferred browser availableon the computer, causing the first network resource to be displayed inthe first browser; and in response to determining that the first browseris not the preferred browser available on the computer; causing thefirst network resource to be displayed in the preferred browseravailable on the computer.
 2. The computer readable medium of claim 1,wherein the browser performance data is associated with displaying aplurality of network resources on a plurality of browsers, and whereinthe browser performance data comprises at least one of error statistics,latency statistics or customer ratings.
 3. The computer readable mediumof claim 1, wherein identifying the preferred browser available on thecomputer for the first network resource based at least in part on thebrowser performance data regarding the first network resource comprisesidentifying a plurality of browsers available on the computer.
 4. Thecomputer readable medium of claim 1, wherein the method furthercomprises: identifying a second network resource displayed on the firstbrowser at a time of the request; identifying a top-level domain of thefirst network resource; and identifying a top-level domain of the secondnetwork resource, wherein identifying the preferred browser available onthe computer further comprises: if the top-level domain of the secondnetwork resource is the top-level domain of the first network resource,designating the first browser as the preferred browser available on thecomputer.
 5. A computer-implemented method for displaying networkresources comprising: receiving, from a computing device over a network,information regarding a network resource requested by the computingdevice; identifying, using a computer processor, operational dataregarding presentation of a plurality of network resources on aplurality of browsers; selecting, using the computer processor, at leastone of the plurality of browsers as a preferred browser for presentingthe requested network resource based at least in part on at least someof the operational data; and transmitting, to the computing device overthe network, information regarding the preferred browser for presentingthe requested network resource.
 6. The computer-implemented method ofclaim 5, wherein the requested network resource is requested by a firstbrowser operating on the computing device.
 7. The computer-implementedmethod of claim 6, wherein the first browser is not the preferredbrowser.
 8. The computer-implemented method of claim 5, furthercomprising: determining, using the computer processor, whether thepreferred browser is available on the computing device.
 9. Thecomputer-implemented method of claim 8, wherein the informationregarding the preferred browser comprises a recommendation to open therequested network resource in the preferred browser, and wherein themethod further comprises causing a display of a window comprising therecommendation on a computer display of the computing device.
 10. Thecomputer-implemented method of claim 8, wherein the informationregarding the preferred browser comprises an instruction to open therequested network resource in the preferred browser, and wherein themethod further comprises causing a display of the requested networkresource in the preferred browser on a computer display of the computingdevice based at least in part on the instruction.
 11. Thecomputer-implemented method of claim 5, wherein the informationregarding the preferred browser for presenting the requested networkresource to the computing device is transmitted to a trackingapplication operating on the computing device.
 12. Thecomputer-implemented method of claim 5, wherein the operational data isassociated with the presentation of the plurality of network resourceson the plurality of browsers, and wherein the operational data comprisesat least one of error data, latency data and customer ratings.
 13. Thecomputer-implemented method of claim 5, wherein selecting the at leastone of the plurality of browsers as the preferred browser comprises:calculating, using the computer processor, a suitability score for eachof the plurality of browsers based at least in part on the at least someof the operational data; and identifying, using the computer processor,at least one of the plurality of browsers having a sufficiently highsuitability score, wherein the suitability score is indicative of thesuitability of the browser for the presentation of the requested networkresource.
 14. The computer-implemented method of claim 13, furthercomprising: designating, using the computer processor, the at least oneof the plurality of browsers having the sufficiently high suitabilityscore as the preferred browser.
 15. The computer-implemented method ofclaim 13, further comprising: identifying a suitability threshold;comparing, using the computer processor, the sufficiently highsuitability score to the suitability score of a first browser from whichthe network resource was requested; if the sufficiently high suitabilityscore satisfies the suitability threshold, designating the at least oneof the plurality of browsers having the sufficiently high suitabilityscore as the preferred browser.
 16. The computer-implemented method ofclaim 15, wherein identifying the suitability score threshold comprises:identifying, using the computer processor, a network resource presentedon the first browser at a time of the request; identifying, using thecomputer processor, a top-level domain associated with the presentednetwork resource; identifying, using the computer processor, a top-leveldomain associated with the requested network resource; if the top-leveldomain associated with the presented network resource is the top-leveldomain associated with the requested network resource, assigning, usingthe computer processor, a first value to the suitability threshold; andif the top-level domain associated with the presented network resourceis not the top-level domain associated with the requested networkresource, assigning, using the computer processor, a second value to thesuitability threshold, wherein the first value exceeds the second value.17. The computer-implemented method of claim 6, wherein selecting the atleast one of the plurality of browsers as the preferred browser forpresenting the requested network resource comprises: identifying, usingthe computer processor, a presented network resource on the firstbrowser at a time of the request; identifying, using the computerprocessor, a top-level domain associated with the presented networkresource; identifying, using the computer processor, a top-level domainassociated with the requested network resource; and if the top-leveldomain associated with the presented network resource is the top-leveldomain associated with the requested network resource, designating,using the computer processor, the first browser as the preferredbrowser.
 18. The computer-implemented method of claim 6, whereinselecting the at least one of the plurality of browsers as the preferredbrowser for presenting the requested network resource comprises:identifying, using the computer processor, a presented network resourceon the first browser at a time of the request; identifying, using thecomputer processor, a top-level domain associated with the presentednetwork resource; identifying, using the computer processor, a top-leveldomain associated with the requested network resource; if the top-leveldomain associated with the presented network resource is the top-leveldomain associated with the requested network resource, determining,using the computer processor, whether the requested network resourcecomprises any content of the presented network resource; in response todetermining that the requested network resource comprises at least someof the content of the presented network resource, designating, using thecomputer processor, the first browser as the preferred browser.
 19. Thecomputer-implemented method of claim 13, wherein selecting the preferredbrowser for presenting the requested network resource comprises:identifying, using the computer processor, a presented network resourceon a first browser from which the requested network resource wasrequested; identifying, using the computer processor, a top-level domainassociated with the presented network resource; identifying, using thecomputer processor, a top-level domain associated with the requestednetwork resource; if the top-level domain associated with the presentednetwork resource is the top-level domain associated with the requestednetwork resource, determining, using the computer processor, whether therequested network resource may be rendered on the first browser; inresponse to determining that the requested network resource may berendered on the first browser, designating, using the computerprocessor, the first browser as the preferred browser; in response todetermining that the requested network resource may not be rendered onthe first browser, designating, using the computer processor, the one ofthe plurality of browsers having the highest suitability score as thepreferred browser; and if the top-level domain associated with thepresented network resource is not the top-level domain associated withthe requested network resource, designating, using the computerprocessor, the one of the plurality of browsers having the highestsuitability score as the preferred browser.
 20. The computer-implementedmethod of claim 5, further comprising: receiving a search term from auser of the computing device over the network; and identifying aplurality of search results associated with the search term using thecomputer processor, wherein each of the search results is associatedwith a network resource, wherein transmitting information regarding thepreferred browser for presenting the requested network resource to thecomputing device over the network comprises: causing a display of aplurality of search results on a computer display of the computingdevice, wherein each of the search results comprises a link to thenetwork resource associated with the search result; and causing adisplay of identifiers of preferred browsers for each of the pluralityof search results on the computer display of the computing device,wherein one of the search results comprises the link to the requestednetwork resource, and wherein one of the identifiers refers to thepreferred browser for displaying the requested network resource.
 21. Thecomputer-implemented method of claim 5, further comprising: receiving asearch term from a user of the computing device over the network; andidentifying a set of search results associated with the search termusing the computer processor, wherein each of the search results isassociated with a network resource; modifying the set of search resultsto preferentially favor network resources for which the preferredbrowser is preferred for presentation, wherein transmitting informationregarding the preferred browser for presenting the requested networkresource to the computing device over the network comprises: causing adisplay of at least a portion of the modified set of search results on acomputer display of the computing device.
 22. The computer-implementedmethod of claim 21, wherein modifying the set of search resultscomprises at least one of: reordering, using the computer processor, theset of search results to preferentially favor network resources forwhich the preferred browser is preferred for presentation, and removing,using the computer processor, search results for which the preferredbrowser is not preferred for presentation from the set.
 23. Thecomputer-implemented method of claim 5, wherein the preferred browser isselected based at least in part on the presentation of the requestednetwork resource on the preferred browser operating on the computingdevice.
 24. A computer system comprising, a data store configured tostore electronic content; and a computing device in communication withthe data store, the computing device configured to at least: receive arequest to view a network resource from a local browsing subsystem;retrieve electronic content regarding the requested network resourcefrom the data store; cause rendering of the electronic contentassociated with the requested network resource on a plurality of remotebrowsing subsystems; identify performance data regarding the renderingof the electronic content associated with the requested network resourceon a plurality of remote browsing subsystems; select at least one of theplurality of remote browsing subsystems based at least in part on atleast some of the performance data; and transmit the electronic contentassociated with the requested network resource to the local browsingsubsystem.
 25. The computer system of claim 24, wherein the computersystem is further configured to: cause a display of at least some of therendered electronic content associated with the requested networkresource on the local browsing subsystem.
 26. The computer system ofclaim 24, wherein the performance data is associated with the renderingof the plurality of network resources on the plurality of remotebrowsing subsystems, and wherein the performance data comprises at leastone of error statistics, latency statistics or customer ratings.
 27. Thecomputer system of claim 24, wherein the computer system is furtherconfigured to select the at least one of the plurality of remotebrowsing subsystems by: calculating a suitability metric for each of theplurality of remote browsing subsystems based on the at least some ofthe performance data, wherein the selected at least one of the remotebrowsing subsystems is the at least one of the plurality of remotebrowsing subsystems having a sufficiently high suitability metric. 28.The computer system of claim 24, wherein at least one of the remotebrowsing subsystems has rendered electronic content associated with anetwork resource at a time of the request, and wherein the computingdevice is further configured to: identify a top-level domain of therequested network resource; identify a top-level domain of the networkresource having rendered electronic content on the at least one of theremote browsing subsystems at a time of the request; and if the toplevel domain of the requested network resource is the top-level domainof the network resource having rendered electronic content on the atleast one of the remote browsing subsystems at the time of the request,designating the at least one of the remote browsing systems as theselected at least one of the remote browsing subsystems.